﻿#pragma once


namespace Engine
{
	struct Color3
	{
	public:
		Color3(float r, float g, float b)
			: r(r),
			  g(g),
			  b(b)
		{
		}

		float GetR() const { return r; }
		float GetG() const { return g; }
		float GetB() const { return b; }

		// todo: ToVector3

	private:
		float r;
		float g;
		float b;
	};

	struct Color4 : Color3
	{
	public:
		Color4(float r, float g, float b, float a)
			: Color3(r, g, b), r(r), g(g), b(b), a(a)
		{
		}

		float GetR() const { return r; }
		float GetG() const { return g; }
		float GetB() const { return b; }
		float GetA() const { return a; }

		// todo: ToVector4

	private:
		float r;
		float g;
		float b;
		float a;
	};
}
